﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dados_.DigitalTVDSTableAdapters;

namespace Dados_
{
    public class UsuariosSQL : IUsuariosBD
    {
        #region IUsuariosBD Members

        public int Inserir(UsuariosVO usuario)
        {
            return new T_UsuariosTableAdapter().Insert(usuario.Login, usuario.Nome, usuario.Email, usuario.Senha, usuario.Tipo);
        }

        public int Excluir(UsuariosVO usuario)
        {
            return new T_UsuariosTableAdapter().Delete(usuario.Login);
        }

        public int Alterar(UsuariosVO usuario)
        {
            return new T_UsuariosTableAdapter().Update(usuario.Nome, usuario.Email, usuario.Senha, usuario.Tipo, usuario.Login);
        }

        public UsuariosVO Consultar(string login)
        {
            UsuariosVO usuarioVO = null;

            T_UsuariosTableAdapter uta = new T_UsuariosTableAdapter();

            DigitalTVDS.T_UsuariosDataTable uDT = uta.GetUsuarioPorLogin(login);

            foreach (DigitalTVDS.T_UsuariosRow i in uDT)
            {
                usuarioVO  = new UsuariosVO();
                usuarioVO.Login = i.tx_login;
                usuarioVO.Nome = i.tx_nome;
                usuarioVO.Email = i.tx_email;
                usuarioVO.Senha = i.tx_senha;
                usuarioVO.Tipo = i.nr_tipo;
                break;
            }


            return usuarioVO;
        }

        public List<UsuariosVO> Consultar(string nome, int tipo)
        {
            List<UsuariosVO> usuariosVO = new List<UsuariosVO>();

            T_UsuariosTableAdapter uta = new T_UsuariosTableAdapter();

            DigitalTVDS.T_UsuariosDataTable uDT = uta.GetTodos();

            foreach (DigitalTVDS.T_UsuariosRow i in uDT)
            {
                UsuariosVO usuarioVO = new UsuariosVO();
                
                usuarioVO.Login = i.tx_login;
                usuarioVO.Nome  = i.tx_nome;
                usuarioVO.Email = i.tx_email;
                usuarioVO.Senha = i.tx_senha;
                usuarioVO.Tipo  = i.nr_tipo;
                usuariosVO.Add(usuarioVO);
            }
            return usuariosVO;
        }
                
        #endregion      
    }
}
